package com.danbay.cloud.device.entity;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.danbay.cloud.base.constants.Const;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 能耗设备
 *
 * @author SJG
 * @date 2017/10/21
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("energy_device")
public class EnergyDevice {


    /**
     * 实操读数
     */
    private String real_meter_count;

    /**
     * 实操读数时间
     */
    private String real_meter_count_time;

    /**
     * 1 合闸,0 拉闸
     */
    private Integer switch_state;

    private Integer  addStatus;

    @TableId(type= IdType.AUTO)
    private Long id;

    private String name;

    private Long centerControlId;

    private String deviceId;

    /**
     * 0是水表 1是电表；
     */
    private String deviceModel;

    private String houseId;

    private Date addTime;

    private Long province;

    private Long city;

    private Long area;

    private String userAddress;

    private Date frozenTime;

    private String address;
    /**
     * 电水表类型
     * 1:电表，0:水表
     */
    private String type;

    private String readStatus;

    private String isAssociated;

    /**
     * 已删除 "1"; 未删除"0"
     */
    private String hasDelete;

    /**设备编号*/
    private String deviceNum;

    /**
     * 远程读数
     */
    private Double electricQuantity;

    /**
     * 数据获取时间
     */
    private Date readTime;

    /**
     * 用户
     */
    private Long user;

    /**
     * 合同
     */
    private Long contractInfo;

    /**
     * 本月消耗量  实抄
     */
    private Double consumption;

    private String username;

    private String userId;
    /**
     * 实时的读数
     */
    private Double meterCount;

    private String status;

    private Long houseInfoId;

    private Long roomId;

    /**
     * 水電費率
     */
    private Double cost;

    /**
     * 能耗統計週期：0:每小時，1:每天，2:每周，3:每月，4:每年
     */
    private String countCycle;

    /**
     *  电表类型、0:费控型 1:普通型,水表类型、0冷水电表，1热水表
     */
    private String deviceType;

    private String provider;
    /**
     * 行政区
     */
    private Integer district;
    /**
     * 终端地址码
     */
    private Integer terminalAddr;
    /**
     * 测量点号
     */
    private Integer measuring;

    /**
     * 拉合闸，0拉闸，1合闸。5拉闸中，6合闸中。
     */
    private Integer gateSwitch ;

    /**
     * 日冻结的读数
     */
    private Double meterDayCount;
    /**
     * 日冻结 读数的时间
     */
    private Date meterDayCountTime;

    /**
     * 本月用电   日冻结
     */
    private Double meterMonthCount;
    /**
     * 昨日用电
     */
    private Double meterYesterdayCount;

    /**
     * 是否在线
     * @return boolean
     */
    public boolean isOnline(){
        return Const.BOOL_STRING_FALSE.equals(getStatus());
    }
}
